home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The PC-SIG Library 10
/
The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso
/
PC_SIGCD
/
01
/
8
/
DISK0182.ZIP
/
TCLOCK.BAS
< prev
next >
Wrap
BASIC Source File
|
1983-02-05
|
25KB
|
501 lines
1000 ' -----------------------------------------------------------------------
1010 ' PROGRAM NAME = TCLOCK
1020 ' FUNCTION = DATE AND TIME DISPLAY ON MONOCHROME
1030 ' -----------------------------------------------------------------------
1040 ' AUTHOR = WILLIAM T. VATH
1050 ' -----------------------------------------------------------------------
1060 '
1070 ' To See Instruction Menu, Type Character ?.(INSTRUCTIONS)
1080 '
1090 ' To Set Alarm Type Character A.(ALARM)
1100 '
1110 ' To Switch From 12 Hour To 24 Hour Display, Type Character M.(MODE)
1120 '
1130 ' To Turn Time Change Beep On Or Off, Type Character B.(BEEP)
1140 '
1150 ' To Turn Chimes On Or Off, Type Character C.(CHIME)
1160 '
1170 ' To Set Date & Time, Type Character S.(SET)
1180 '
1190 ' To Cancel The Program And Return To Caller, Hit The ESC Key.
1200 '
1210 ' -----------------------------------------------------------------------
1220 '
1230 DEFINT A-Z:DIM ALARM$(6),ALDESC$(6):AL$=" : ":DES$=STRING$(50,32)
1240 DEF SEG=&H40:POKE &H17,64
1250 FOR I=1 TO 6:ALARM$(I)=AL$:ALDESC$(I)=DES$:NEXT
1260 KEY OFF:WIDTH 80:COLOR 7,0:CLS
1270 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
1280 SW1$="1":SW2$="0":BP1$="1":BP2$="0":CH1$="0":CH2$="1":AL1$="0"
1290 ET1$="0":ET2$="1"
1300 ' -----------------------------------------------------------------------
1310 ' PRINT BIG BOX
1320 ' -----------------------------------------------------------------------
1330 '
1340 CLS:LOCATE 1,1,0:COLOR 7,0:PRINT CHR$(201)+STRING$(77,205)+CHR$(187);
1350 FOR I=2 TO 24
1360 LOCATE I,1:PRINT CHR$(186);:LOCATE I,79:PRINT CHR$(186);
1370 NEXT
1380 LOCATE 25,1:PRINT CHR$(200)+STRING$(77,205)+CHR$(188);
1390 ' -----------------------------------------------------------------------
1400 ' PRINT CENTER LINE
1410 ' -----------------------------------------------------------------------
1420 '
1430 LOCATE 13,1:COLOR 7,0:PRINT CHR$(204)+STRING$(77,205)+CHR$(185);
1440 ' -----------------------------------------------------------------------
1450 ' PRINT DATE BOX
1460 ' -----------------------------------------------------------------------
1470 '
1480 LOCATE 6,2:COLOR 7,0:PRINT CHR$(201)+STRING$(4,205)+CHR$(187);
1490 LOCATE 7,2:PRINT CHR$(186)+STRING$(4,32)+CHR$(186);
1500 LOCATE 8,2:PRINT CHR$(200)+STRING$(4,205)+CHR$(188);
1510 LOCATE 7,3:PRINT "DATE";
1520 ' -----------------------------------------------------------------------
1530 ' PRINT DATE DASH
1540 ' -----------------------------------------------------------------------
1550 '
1560 LOCATE 7,36:COLOR 0,7:PRINT STRING$(4,32)
1570 ' -----------------------------------------------------------------------
1580 ' PRINT YEAR BOX
1590 ' -----------------------------------------------------------------------
1600 '
1610 LOCATE 9,72:COLOR 7,0:PRINT CHR$(201)+CHR$(205)+CHR$(205)+CHR$(187);
1620 LOCATE 10,72:PRINT CHR$(186)+CHR$(32)+CHR$(32)+CHR$(186);
1630 LOCATE 11,72:PRINT CHR$(200)+CHR$(205)+CHR$(205)+CHR$(188);
1640 ' -----------------------------------------------------------------------
1650 ' PRINT TIME BOX
1660 ' -----------------------------------------------------------------------
1670 '
1680 LOCATE 18,2:COLOR 7,0:PRINT CHR$(201)+STRING$(4,205)+CHR$(187);
1690 LOCATE 19,2:PRINT CHR$(186)+STRING$(4,32)+CHR$(186);
1700 LOCATE 20,2:PRINT CHR$(200)+STRING$(4,205)+CHR$(188);
1710 LOCATE 19,3:PRINT "TIME";
1720 ' -----------------------------------------------------------------------
1730 ' PRINT TIME COLON
1740 ' -----------------------------------------------------------------------
1750 '
1760 LOCATE 17,37:COLOR 0,7:PRINT SPACE$(2):LOCATE 21,37:PRINT SPACE$(2)
1770 ' -----------------------------------------------------------------------
1780 ' PRINT SECONDS BOX
1790 ' -----------------------------------------------------------------------
1800 '
1810 LOCATE 21,72:COLOR 7,0:PRINT CHR$(201)+CHR$(205)+CHR$(205)+CHR$(187);
1820 LOCATE 22,72:PRINT CHR$(186)+CHR$(32)+CHR$(32)+CHR$(186);
1830 LOCATE 23,72:PRINT CHR$(200)+CHR$(205)+CHR$(205)+CHR$(188);
1840 ' -----------------------------------------------------------------------
1850 ' GET DATE
1860 ' -----------------------------------------------------------------------
1870 '
1880 D$=DATE$
1890 D1$=LEFT$(D$,1):D2$=MID$(D$,2,1):D3$=MID$(D$,4,1):D4$=MID$(D$,5,1)
1900 D1=VAL(D1$):D2=VAL(D2$):D3=VAL(D3$):D4=VAL(D4$):YR$=RIGHT$(D$,2)
1910 LOCATE 10,73:COLOR 7,0:PRINT YR$;
1920 ' -----------------------------------------------------------------------
1930 ' GET TIME
1940 ' -----------------------------------------------------------------------
1950 '
1960 T$=TIME$:TL$=LEFT$(T$,2)
1970 TR$=MID$(T$,4,2):TR1$=MID$(T$,4,1):TR2$=MID$(T$,5,1)
1980 TL=VAL(TL$):TR=VAL(TR$):TR1=VAL(TR1$):TR2=VAL(TR2$)
1990 IF SW1$="1" THEN 2000 ELSE 2050
2000 IF TL>11 AND TR>0 THEN LOCATE 15,72:COLOR 1,0:PRINT"P M":GOTO 2020
2010 LOCATE 15,72:COLOR 1,0:PRINT "A M";
2020 '
2030 IF TL>12 THEN TL=TL-12
2050 '
2060 IF SW1$="0" THEN LOCATE 15,72:COLOR 1,0:PRINT "MIL";
2070 SEC$=RIGHT$(T$,2):LOCATE 22,73:COLOR 7,0:PRINT SEC$;:COLOR 0,7
2080 LOCATE 24,2:COLOR 7,0:IF CH1$="1" THEN PRINT CHR$(14); ELSE PRINT" ";
2090 LOCATE 24,78:COLOR 7,0:IF BP1$="1" THEN PRINT CHR$(46); ELSE PRINT" ";
2100 ' -----------------------------------------------------------------------
2110 ' CHECK ALARM TIMES
2120 ' -----------------------------------------------------------------------
2130 '
2140 AL1$="0"
2150 TALARM$=LEFT$(T$,5)
2160 FOR I=1 TO 6
2170 IF ALARM$(I)=" : " OR ALARM$(I)=" :" THEN 2180 ELSE AL1$="1"
2180 IF TALARM$=ALARM$(I) THEN GOTO 5610
2190 NEXT
2200 IF AL1$="1" THEN LOCATE 2,2:PRINT CHR$(64);
2210 ' -----------------------------------------------------------------------
2220 ' CHECK RESPONSE IF ANY
2230 ' -----------------------------------------------------------------------
2240 '
2250 RESP$=INKEY$
2260 IF RESP$=CHR$(27) THEN 6000
2270 IF RESP$="M" THEN SWAP SW1$,SW2$
2280 IF SW1$="0" THEN CH1$="0":CH2$="1"
2290 IF RESP$="B" THEN SWAP BP1$,BP2$
2300 IF RESP$="E" THEN SWAP ET1$,ET2$
2310 IF ET1$="1" THEN CH1$="0":CH2$="1":BP1$="0":BP2$="1"
2320 IF RESP$="C" THEN SWAP CH1$,CH2$
2330 IF CH1$="1" THEN BP1$="0":BP2$="1":SW1$="1":SW2$="0":ET1$="0":ET2$="1"
2340 IF RESP$="R" THEN CNT1=0:CNT2=0:CNT3=0
2350 IF RESP$="S" THEN GOTO 4620
2360 IF RESP$="A" THEN GOTO 4810
2370 IF RESP$="?" THEN GOTO 5750
2380 ' -----------------------------------------------------------------------
2390 ' DISPLAY DATE DIGIT 1
2400 ' -----------------------------------------------------------------------
2410 '
2420 A=3
2430 IF D1=D1SAVE THEN 2520
2440 B=10
2450 IF D1=0 THEN 2480
2460 GOSUB 4180
2470 ON D1 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
2480 D1SAVE=D1
2490 ' -----------------------------------------------------------------------
2500 ' DISPLAY DATE DIGIT 2
2510 ' -----------------------------------------------------------------------
2520 '
2530 IF D2=D2SAVE THEN 2620
2540 B=25
2550 GOSUB 4180
2560 IF D2=0 THEN GOSUB 4080
2570 ON D2 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
2580 D2SAVE=D2
2590 ' -----------------------------------------------------------------------
2600 ' DISPLAY DATE DIGIT 3
2610 ' -----------------------------------------------------------------------
2620 '
2630 IF D3=D3SAVE THEN 2720
2640 B=42
2650 GOSUB 4180
2660 IF D3=0 THEN GOSUB 4080
2670 ON D3 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
2680 D3SAVE=D3
2690 ' -----------------------------------------------------------------------
2700 ' DISPLAY DATE DIGIT 4
2710 ' -----------------------------------------------------------------------
2720 '
2730 IF D4=D4SAVE THEN 2820
2740 B=57
2750 GOSUB 4180
2760 IF D4=0 THEN GOSUB 4080
2770 ON D4 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
2780 D4SAVE=D4
2790 ' -----------------------------------------------------------------------
2800 ' DISPLAY TIME DIGIT 1
2810 ' -----------------------------------------------------------------------
2820 '
2830 A=15
2840 IF TL=TLSAVE THEN 3030
2850 IF BP1$="1" THEN 2860 ELSE 2870
2860 SOUND 3000,2
2870 B=10
2880 GOSUB 4180
2890 IF TL=0 THEN GOTO 2940
2900 ON TL GOSUB 2940,2940,2940,2940,2940,2940,2940,2940,2940,3460,3460,3460,3460,3460,3460,3460,3460,3460,3460,3520,3520,3520,3520,3520
2910 ' -----------------------------------------------------------------------
2920 ' DISPLAY TIME DIGIT 2
2930 ' -----------------------------------------------------------------------
2940 '
2950 B=25
2960 GOSUB 4180
2970 IF TL=0 THEN GOSUB 4080
2980 ON TL GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010,4080,3460,3520,3590,3650,3730,3790,3860,3920,4010,4080,3460,3520,3590,3650
2990 TLSAVE=TL
3000 ' -----------------------------------------------------------------------
3010 ' DISPLAY TIME DIGIT 3
3020 ' -----------------------------------------------------------------------
3030 '
3040 IF TR1=TR1SAVE THEN 3130
3050 B=42
3060 GOSUB 4180
3070 IF TR1=0 THEN GOSUB 4080
3080 ON TR1 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
3090 TR1SAVE=TR1
3100 ' -----------------------------------------------------------------------
3110 ' DISPLAY ELAPSED TIME
3120 ' -----------------------------------------------------------------------
3130 '
3140 IF ET1$="0" THEN 3210
3150 '
3160 IF SEC$=SECHOLD$ THEN 3210
3170 CNT3=CNT3+1
3180 IF CNT3>=60 THEN CNT2=CNT2+1:CNT3=0
3190 IF CNT2>=60 THEN CNT1=CNT1+1:CNT2=0
3200 SECHOLD$=SEC$
3210 '
3220 IF CNT1+CNT2+CNT3=0 THEN LOCATE 2,71:COLOR 7,0:PRINT SPACE$(8):GOTO 3270
3230 LOCATE 2,71:COLOR 7,0:PRINT USING"##";CNT1;
3240 LOCATE 2,73:PRINT USING":##";CNT2;
3250 LOCATE 2,76:PRINT USING":##";CNT3;
3260 ' -----------------------------------------------------------------------
3270 ' DISPLAY TIME DIGIT 4
3280 ' -----------------------------------------------------------------------
3290 '
3300 IF TR2=TR2SAVE THEN 1850
3310 IF BP1$="1" THEN 3320 ELSE 3330
3320 SOUND 4000,1
3330 B=57
3340 GOSUB 4180
3350 IF TR2=0 THEN GOSUB 4080
3360 ON TR2 GOSUB 3460,3520,3590,3650,3730,3790,3860,3920,4010
3370 TR2SAVE=TR2
3380 IF CH1$="1" AND TR$="15" THEN GOSUB 4270
3390 IF CH1$="1" AND TR$="30" THEN GOSUB 4330
3400 IF CH1$="1" AND TR$="45" THEN GOSUB 4400
3410 IF CH1$="1" AND TR$="00" THEN GOSUB 4490
3420 GOTO 1850
3430 ' -----------------------------------------------------------------------
3440 ' DIGIT SUBROUTINES
3450 ' -----------------------------------------------------------------------
3460 ' 1
3470 LOCATE A+0,B+4:PRINT SPACE$(2);:LOCATE A+1,B+4:PRINT SPACE$(2);
3480 LOCATE A+2,B+4:PRINT SPACE$(2);:LOCATE A+3,B+4:PRINT SPACE$(2);
3490 LOCATE A+4,B+4:PRINT SPACE$(2);:LOCATE A+5,B+4:PRINT SPACE$(2);
3500 LOCATE A+6,B+4:PRINT SPACE$(2);:LOCATE A+7,B+4:PRINT SPACE$(2);
3510 LOCATE A+8,B+4:PRINT SPACE$(2);:RETURN
3520 ' 2
3530 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+7:PRINT SPACE$(2);
3540 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
3550 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(2);
3560 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+7,B+0:PRINT SPACE$(2);
3570 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
3580 RETURN
3590 ' 3
3600 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+7:PRINT SPACE$(2);
3610 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
3620 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
3630 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
3640 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
3650 ' 4
3660 LOCATE A+0,B+0:PRINT SPACE$(2);:LOCATE A+0,B+7:PRINT SPACE$(2);
3670 LOCATE A+1,B+0:PRINT SPACE$(2);:LOCATE A+1,B+7:PRINT SPACE$(2);
3680 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+2,B+7:PRINT SPACE$(2);
3690 LOCATE A+3,B+0:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
3700 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
3710 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
3720 LOCATE A+8,B+7:PRINT SPACE$(2);:RETURN
3730 ' 5
3740 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
3750 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
3760 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+7:PRINT SPACE$(2);
3770 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
3780 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
3790 ' 6
3800 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
3810 LOCATE A+2,B+0:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
3820 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(2);
3830 LOCATE A+5,B+7:PRINT SPACE$(2);:LOCATE A+6,B+0:PRINT SPACE$(2);
3840 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+0:PRINT SPACE$(2);
3850 LOCATE A+7,B+7:PRINT SPACE$(2);:LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
3860 ' 7
3870 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+7:PRINT SPACE$(2);
3880 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+7:PRINT SPACE$(2);
3890 LOCATE A+4,B+7:PRINT SPACE$(2);:LOCATE A+5,B+7:PRINT SPACE$(2);
3900 LOCATE A+6,B+7:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
3910 LOCATE A+8,B+7:PRINT SPACE$(2);:RETURN
3920 ' 8
3930 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
3940 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
3950 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
3960 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(9);
3970 LOCATE A+5,B+0:PRINT SPACE$(2);:LOCATE A+5,B+7:PRINT SPACE$(2);
3980 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
3990 LOCATE A+7,B+0:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
4000 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
4010 ' 9
4020 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
4030 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
4040 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
4050 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(9);
4060 LOCATE A+5,B+7:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
4070 LOCATE A+7,B+7:PRINT SPACE$(2);:LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
4080 ' 0
4090 LOCATE A+0,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(2);
4100 LOCATE A+1,B+7:PRINT SPACE$(2);:LOCATE A+2,B+0:PRINT SPACE$(2);
4110 LOCATE A+2,B+7:PRINT SPACE$(2);:LOCATE A+3,B+0:PRINT SPACE$(2);
4120 LOCATE A+3,B+7:PRINT SPACE$(2);:LOCATE A+4,B+0:PRINT SPACE$(2);
4130 LOCATE A+4,B+7:PRINT SPACE$(2);:LOCATE A+4,B+4:PRINT SPACE$(1);
4140 LOCATE A+5,B+0:PRINT SPACE$(2);:LOCATE A+5,B+7:PRINT SPACE$(2);
4150 LOCATE A+6,B+0:PRINT SPACE$(2);:LOCATE A+6,B+7:PRINT SPACE$(2);
4160 LOCATE A+7,B+0:PRINT SPACE$(2);:LOCATE A+7,B+7:PRINT SPACE$(2);
4170 LOCATE A+8,B+0:PRINT SPACE$(9);:RETURN
4180 ' CLEAR
4190 COLOR 7,0:LOCATE A+8,B+0:PRINT SPACE$(9);:LOCATE A+7,B+0:PRINT SPACE$(9);
4200 LOCATE A+6,B+0:PRINT SPACE$(9);:LOCATE A+5,B+0:PRINT SPACE$(9);
4210 LOCATE A+4,B+0:PRINT SPACE$(9);:LOCATE A+3,B+0:PRINT SPACE$(9);
4220 LOCATE A+2,B+0:PRINT SPACE$(9);:LOCATE A+1,B+0:PRINT SPACE$(9);
4230 LOCATE A+0,B+0:PRINT SPACE$(9);:COLOR 0,7:RETURN
4240 ' -----------------------------------------------------------------------
4250 ' 15 MINUTE CHIME SUBROUTINE
4260 ' -----------------------------------------------------------------------
4270 '
4280 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1
4290 SOUND 900,15:SOUND 32000,1:SOUND 600,15:SOUND 32000,1:RETURN
4300 ' -----------------------------------------------------------------------
4310 ' 30 MINUTE CHIME SUBROUTINE
4320 ' -----------------------------------------------------------------------
4330 '
4340 SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15
4350 SOUND 32000,1:SOUND 800,15:SOUND 32000,5:SOUND 1000,15:SOUND 32000,1
4360 SOUND 900,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1:SOUND 600,15:RETURN
4370 ' -----------------------------------------------------------------------
4380 ' 45 MINUTE CHIME SUBROUTINE
4390 ' -----------------------------------------------------------------------
4400 '
4410 SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15
4420 SOUND 32000,1:SOUND 800,15:SOUND 32000,5:SOUND 1000,15:SOUND 32000,1
4430 SOUND 800,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 600,15
4440 SOUND 32000,5:SOUND 600,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1
4450 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:RETURN
4460 ' -----------------------------------------------------------------------
4470 ' ON HOUR CHIME SUBROUTINE
4480 ' -----------------------------------------------------------------------
4490 '
4500 SOUND 1000,15:SOUND 32000,1:SOUND 800,15:SOUND 32000,1:SOUND 900,15
4510 SOUND 32000,1:SOUND 600,15:SOUND 32000,5:SOUND 600,15:SOUND 32000,1
4520 SOUND 900,15:SOUND 32000,1:SOUND 1000,15:SOUND 32000,1:SOUND 800,15
4530 SOUND 32000,5:SOUND 1000,15:SOUND 32000,1:SOUND 900,15:SOUND 32000,1
4540 SOUND 800,15:SOUND 32000,1:SOUND 600,15:SOUND 32000,5:SOUND 600,15
4550 SOUND 32000,1:SOUND 900,15:SOUND 32000,1:SOUND 1000,15:SOUND 32000,1
4560 SOUND 800,15:SOUND 32000,20
4570 '
4580 FOR I=1 TO TL:SOUND 400,15:SOUND 32000,15:NEXT:RETURN
4590 ' -----------------------------------------------------------------------
4600 ' SET DATE & TIME SUBROUTINE
4610 ' -----------------------------------------------------------------------
4620 '
4630 COLOR 7,0:CLS
4640 LOCATE 2,20:COLOR 0,7:PRINT" S E T D A T E T I M E "
4650 LOCATE 5,36:COLOR 7,0:PRINT"CURRENT DATE = ";DATE$
4660 LOCATE 7,20:INPUT"ENTER NEW DATE - ELSE ENTER--> ",IN$
4670 IF IN$="" THEN 4680 ELSE DATE$=IN$
4680 LOCATE 5,36:COLOR 0,7:PRINT"CURRENT DATE = ";DATE$
4690 LOCATE 10,36:COLOR 7,0:PRINT"CURRENT TIME = ";TIME$
4700 LOCATE 12,20:INPUT"ENTER NEW TIME - ELSE ENTER--> ",IN$
4710 IF IN$="" THEN 4720 ELSE TIME$=IN$
4720 LOCATE 10,36:COLOR 0,7:PRINT"CURRENT TIME = ";TIME$
4730 LOCATE 15,20:COLOR 7,0:PRINT"IS DATE AND TIME CORRECT ? (Y or N)"
4740 RESP$=INKEY$:IF RESP$="" THEN 4740
4750 IF RESP$="Y" THEN 4760 ELSE 4620
4760 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
4770 GOTO 1330
4780 ' -----------------------------------------------------------------------
4790 ' SET ALARM SUBROUTINE
4800 ' -----------------------------------------------------------------------
4810 '
4820 COLOR 7,0:CLS
4830 LOCATE 2,20:COLOR 0,7:PRINT" S E T A L A R M T I M E S "
4840 LOCATE 4,20:COLOR 7,0:PRINT"CURRENT DATE = ";DATE$
4850 LOCATE 5,20:PRINT"CURRENT TIME = ";TIME$
4860 LOCATE 7,10:PRINT"USE 24 HOUR CLOCK TIMES"
4870 LOCATE 9,15:COLOR 1,0:PRINT"TIMES"
4880 LOCATE 9,28:PRINT"ALARM DESCRIPTIONS"
4890 '
4900 FOR I=11 TO 16:LOCATE I,15:COLOR 7,0:PRINT SPACE$(64);:NEXT
4910 LOCATE 11,15:COLOR 1,0:PRINT ALARM$(1)
4920 LOCATE 11,28:PRINT ALDESC$(1)
4930 LOCATE 12,15:PRINT ALARM$(2)
4940 LOCATE 12,28:PRINT ALDESC$(2)
4950 LOCATE 13,15:PRINT ALARM$(3)
4960 LOCATE 13,28:PRINT ALDESC$(3)
4970 LOCATE 14,15:PRINT ALARM$(4)
4980 LOCATE 14,28:PRINT ALDESC$(4)
4990 LOCATE 15,15:PRINT ALARM$(5)
5000 LOCATE 15,28:PRINT ALDESC$(5)
5010 LOCATE 16,15:PRINT ALARM$(6)
5020 LOCATE 16,28:PRINT ALDESC$(6)
5030 LOCATE 7,40:COLOR 7,0:PRINT"YOU CAN SET UP TO 6 ALARM TIMES"
5040 LOCATE 11,15:LINE INPUT"",IN$
5050 IF IN$="" THEN 5060 ELSE ALARM$(1)=IN$
5060 LOCATE 11,15:PRINT SPACE$(10)
5070 LOCATE 11,15:PRINT ALARM$(1)
5080 LOCATE 11,28:INPUT"",IN$
5090 IF IN$="" THEN 5100 ELSE ALDESC$(1)=IN$
5100 LOCATE 11,28:PRINT SPACE$(50)
5110 LOCATE 11,28:PRINT ALDESC$(1)
5120 LOCATE 12,15:LINE INPUT"",IN$
5130 IF IN$="" THEN 5140 ELSE ALARM$(2)=IN$
5140 LOCATE 12,15:PRINT SPACE$(10)
5150 LOCATE 12,15:PRINT ALARM$(2)
5160 LOCATE 12,28:INPUT"",IN$
5170 IF IN$="" THEN 5180 ELSE ALDESC$(2)=IN$
5180 LOCATE 12,28:PRINT SPACE$(50)
5190 LOCATE 12,28:PRINT ALDESC$(2)
5200 LOCATE 13,15:LINE INPUT"",IN$
5210 IF IN$="" THEN 5220 ELSE ALARM$(3)=IN$
5220 LOCATE 13,15:PRINT SPACE$(10)
5230 LOCATE 13,15:PRINT ALARM$(3)
5240 LOCATE 13,28:INPUT"",IN$
5250 IF IN$="" THEN 5260 ELSE ALDESC$(3)=IN$
5260 LOCATE 13,28:PRINT SPACE$(50)
5270 LOCATE 13,28:PRINT ALDESC$(3)
5280 LOCATE 14,15:LINE INPUT"",IN$
5290 IF IN$="" THEN 5300 ELSE ALARM$(4)=IN$
5300 LOCATE 14,15:PRINT SPACE$(10)
5310 LOCATE 14,15:PRINT ALARM$(4)
5320 LOCATE 14,28:INPUT"",IN$
5330 IF IN$="" THEN 5340 ELSE ALDESC$(4)=IN$
5340 LOCATE 14,28:PRINT SPACE$(50)
5350 LOCATE 14,28:PRINT ALDESC$(4)
5360 LOCATE 15,15:LINE INPUT"",IN$
5370 IF IN$="" THEN 5380 ELSE ALARM$(5)=IN$
5380 LOCATE 15,15:PRINT SPACE$(10)
5390 LOCATE 15,15:PRINT ALARM$(5)
5400 LOCATE 15,28:INPUT"",IN$
5410 IF IN$="" THEN 5420 ELSE ALDESC$(5)=IN$
5420 LOCATE 15,28:PRINT SPACE$(50)
5430 LOCATE 15,28:PRINT ALDESC$(5)
5440 LOCATE 16,15:LINE INPUT"",IN$
5450 IF IN$="" THEN 5460 ELSE ALARM$(6)=IN$
5460 LOCATE 16,15:PRINT SPACE$(10)
5470 LOCATE 16,15:PRINT ALARM$(6)
5480 LOCATE 16,28:INPUT"",IN$
5490 IF IN$="" THEN 5500 ELSE ALDESC$(6)=IN$
5500 LOCATE 16,28:PRINT SPACE$(50)
5510 LOCATE 16,28:PRINT ALDESC$(6)
5520 LOCATE 19,20:PRINT"ARE ALL ENTRIES CORRECT ? (Y or N)"
5530 RESP$=INKEY$:IF RESP$="" THEN 5530
5540 LOCATE 19,20:PRINT SPACE$(40)
5550 IF RESP$="Y" THEN 5560 ELSE 4890
5560 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
5570 GOTO 1330
5580 ' -----------------------------------------------------------------------
5590 ' DISPLAY ALARM ROUTINE
5600 ' -----------------------------------------------------------------------
5610 '
5620 COLOR 7,0:CLS
5630 LOCATE 2,15:COLOR 0,7:PRINT" A L A R M "
5640 LOCATE 10,15:COLOR 7,0:PRINT ALDESC$(I);
5650 LOCATE 15,15:COLOR 23,0:PRINT"Press Any Key To Reset Alarm";
5660 '
5670 SOUND 1000,5:SOUND 32000,5
5680 RESP$=INKEY$:IF RESP$="" THEN 5660
5690 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
5700 ALARM$(I)=" : ":ALDESC$(I)=STRING$(50,32)
5710 GOTO 1330
5720 ' -----------------------------------------------------------------------
5730 ' INSTRUCTIONS ROUTINE
5740 ' -----------------------------------------------------------------------
5750 '
5760 COLOR 7,0:CLS
5770 LOCATE 1,10:COLOR 0,7:PRINT" CLOCK FUNCTION CONTROLS "
5780 LOCATE 4,10:COLOR 7,0:PRINT" B = TIME CHANGE BEEP SET ON/OFF"
5790 LOCATE 6,10:PRINT" C = CHIMES SET ON/OFF"
5800 LOCATE 8,10:PRINT" E = ELAPSED TIME SET ON/OFF"
5810 LOCATE 10,10:PRINT" M = CHANGE FROM 12 TO 24 HOUR MODE"
5820 LOCATE 1,55:COLOR 0,7:PRINT" CURRENT CONDITION ":COLOR 7,0
5830 LOCATE 4,60:IF BP1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
5840 LOCATE 6,60:IF CH1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
5850 LOCATE 8,60:IF ET1$="1" THEN PRINT" ON" ELSE PRINT"OFF"
5860 LOCATE 10,60:IF SW1$="1" THEN PRINT" 12" ELSE PRINT" 24"
5870 LOCATE 12,10:PRINT" A = SET ALARM TIMES AND DESCRIPTIONS"
5880 LOCATE 14,10:PRINT" R = RESET ELAPSED TIME"
5890 LOCATE 16,10:PRINT" S = SET DATE AND TIME"
5900 LOCATE 18,10:PRINT" ? = DISPLAY INSTRUCTIONS"
5910 LOCATE 20,10:PRINT"ESC = EXIT - RETURN TO SYSTEM MODE"
5920 LOCATE 24,20:COLOR 23,0:PRINT"Press Any Key To Continue";
5930 RESP$=INKEY$:IF RESP$="" THEN 5930
5940 COLOR 7,0:CLS
5950 D1SAVE=99:D2SAVE=99:D3SAVE=99:D4SAVE=99:TLSAVE=99:TR1SAVE=99:TR2SAVE=99
5960 GOTO 1330
5970 ' -----------------------------------------------------------------------
5980 ' EXIT ROUTINE
5990 ' -----------------------------------------------------------------------
6000 COLOR 7,0:CLS:END